AlteryxからデータをCSVファイルにしてSFTPサーバにアップロードする
こんにちは。Alteryxサポートエンジニアとして勉強中のスズです。
Alteryxはパスワード認証を使用してSFTPサーバに接続することが可能です。Alteryx Communityにて、AlteryxからSFTPサーバにファイルをアップロードする方法が紹介されております。
今回はCommunityの記事を参考にして、Alteryxで処理したデータをCSVファイルにしてSFTPサーバにアップロードする方法についてご紹介いたします。
データをCSVファイルにしてSFTPサーバにアップロードする
アップロードするデータとアップロード先
SFTPサーバには以下のデータをCSVファイルにしてアップロードします。
※今回はファイルとして保存されているデータを読み込んでいますが、Alteryxで処理を行ったデータという想定で見ていただければと思います。
以下の画像の右側がファイルのアップロード先のSFTPサーバです。ファイルは特にない状態です。
CSVファイルをSFTPサーバにアップロードしたのち、Windowsマシンでファイルをダウンロードして中身を確認していきます。
CSVファイルのアップロード
ワークフローの全体
今回作成するワークフローでは、以下のような処理を行っています。
- データをBlobに変換
- アップロード先のURLと結合
- ファイルのアップロード
各処理に分けてワークフローを確認していきます。
データをBlobに変換
CSVファイルとして出力するデータに対してRecord IDツールでIDを付与したのち、Transposeツールでデータを縦持ちに変換します。
Summarizeツールを使用して、IDでグループ化(Group By)と「Value」列をConcatenateで出力します。
この時点のデータは、IDごとにまとめられています。
再度Summarizeツールを使用します。先ほどIDごとにまとめたデータをConcatenateでさらにまとめます。Separatorには\r\n
を使用します。
データは以下のようになっています。全てのデータが1つにまとめられました。
Blob Convertツールを使用してデータをBlobに変換します。
設定はこちら。
- Convert To a Blob Field
- String Field: まとめたデータがある列
- Put Text Data into Blob with Code Page: ANSI/OEM - Japanese Shift-JIS
Blobに変換するとAlteryx上ではサイズが表示されます。
アップロード先のURLと結合
Text Inputツールを使用して、CSVファイルのアップロード先のURLとファイル名を用意します。
Append Fieldsツールを使用して、Blobとアップロード先を結合します。Alteryx上では以下のように表示されます。
ファイルのアップロード
Downloadツールを使用してSFTPにファイルをアップロードします。
主な設定はこちら。
- Basic
- URL: ファイルのアップロード先がある列
- String: ANSI/OEM - Japanese Shift-JIS
- Payload
- HTTP Action: PUT
- Take Query String/Body from Field: まとめたデータがある列
- Connection
- 認証情報の設定
ワークフローを実行すると、Alteryx上では以下のように表示されました。
アップロードしたファイルの確認
SFTPサーバを確認してみると、ファイルが追加されていました。
Windowsマシンでファイルをダウンロードして中身を確認してみます。ファイルにカンマで区切られたデータがあることを確認できました。
最後に
今回はAlteryxで処理したデータをCSVファイルにしてSFTPサーバにアップロードする方法についてご紹介しました。
AlteryxからSFTPサーバへの接続は現時点ではパスワード認証のみ対応していますが、Alteryx CommunityのIDEAに秘密鍵認証への対応が要望として挙がっています。今後機能が追加されるとうれしいですね。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。